1. Field of the Invention
The present invention relates to an ATM transmission system which utilizes an inter-cluster multicast protocol (ILMP), a method for the simultaneous transmission (i.e. multicasting) of IP data packets using ATM as a carrier network, and a telecommunication system including the ATM transmission system of the present invention.
2. Discussion of the Background
In multicasting, one message is simultaneously transmitted to a number of receivers, i.e. transmitted at the same time to a number of users of a multicasting service. With a multicasting service, use of the network""s resources may be optimized by copying the multicast messages in the net rather than at the user terminals. Many of the existing services, offered by network operators, could have been implemented, in a more effective manner, if support for multicasting had been available for use with such services. In future, many multimedia applications will be dependent on a multicasting service. Some examples of multimedia applications, which could be more effectively implemented with the aide of a multicasting service, are as follows:
exchange of information in real time;
video conferences;
distance working, for example, working at a location remote from a central office, company premises, administration center, etc.; and
video games.
IP (Internet Protocol) networks, in which ATM (Asynchronous Transfer Mode) is used as a carrier network, do not have support for multicasting. Known existing solutions, for example, MARS (Multicast Address Resolution Service), work for a limited number of users, i.e. about 255 users.
The Internet Engineering Task Force (IETF) have published a Request for Comment (RFC), namely, RFC 2022, which specifies a method that provides multicast support for IP end-systems, or routers, over an ATM network. However, the RFC 2022 (MARS) solution is restricted to intra-LIS communication.
In Telia""s IP/ATM network, known as Broadway, multicasting can be provided using the MARS protocol. However, such a solution does not scale since any multicasting protocol has to deal with both intra-LIS and inter-LIS multicasting.
There is, therefore, at the present time, a distinct lack of established methods for inter-LIS multicasting for use in IP/ATM telecommunication systems.
It is an object of the present invention to provide an ATM transmission system in which multicasting between clusters utilizes inter-cluster multicasting protocols, and in which multicasting within a cluster utilizes MARS. A cluster is a collection of hosts and routers belonging to the same domain. The use of an inter-cluster multicasting protocol (ILMP) makes it possible to provide a multicast service to a much larger number of users, i.e. up to 65,000 users, than is possible using present day solutions, for example, MARS which is, in essence, limited to one LIS and about 255 users.
It is another object of the present invention to provide a method for the simultaneous transmission (i.e. multicasting) of IP data packets, using ATM as a carrier network.
It is a further object of the present invention to provide a telecommunication system including the ATM transmission system of the present invention, or operating in accordance with the method of the present invention.
According to one aspect of the present invention, there is provided, an ATM transmission system, adapted for the simultaneous transmission (i.e. multicasting) of IP data packets to a plurality of system users, using ATM as a carrier network, characterised in that said transmission system includes an IP/ATM network including clusters of Logical IP Systems (LISs); a multicast address resolution server (MARS) for each cluster; and a multicast router (MCR) for each cluster, in that said clusters are interconnected through said MCRs which form an inter-cluster backbone for said IP/ATM network, in that multicasting of IP data packets within a cluster utilizes a MARS protocol, and in that multicasting between clusters utilizes an inter-cluster multicasting protocol (ILMP). The ATM transmission system may include means for gaining access to the Internet. Said means for gaining access to the Internet may include a non-ATM IP Subnet connected to said inter-cluster backbone. One of said MCRs may be adapted for use as an entry point for the IP/ATM network to the Internet.
Each cluster may consist of an integral number of ATM hosts and LISs, the size of a cluster being dependent on physical and administrative constraints, each LIS, within a cluster, may be adapted to support a number of ATM hosts, and all ATM hosts within a cluster, even if supported by different LISs, may be adapted to be configured with an address of the same MARS. For each cluster, the functionality of MARS and MCR may be adapted to be co-located.
In the presence of multiple MCRs belonging to the same cluster, said IP/ATM network may be adapted to select a MCR with the highest IP address as a default MCR.
MARS may be adapted to operate in server mode.
Said MCRs may be adapted to promiscuously receive all multicast traffic on a cluster.
Said MCRs may be adapted to support point-to-multipoint connections provided by UNI 3.0 signalling.
In accordance with the ATM transmission system of the present invention, all ATM hosts and MCRs, associated with the same cluster, may be adapted to be configured with the address of the same MARS, MARS may be adapted to operate in server mode, said IP/ATM network may be adapted to enable IP/ATM endpoints, within a cluster, to register as a member of an inter-cluster multicast group utilizing MARS procedures, said MCRs may be adapted to support point-to-multipoint connections provided by UNI 3.0 signalling, and a multicast server may be provided and adapted to manage said point-to-multipoint connections, and to distribute multicast traffic therefrom (i.e. as root) to all other leaves of said multipoint connections.
A MCR may be adapted, in advance of multicasting, to select a well known end-node and establish a connection thereto, said well known end-node being adapted to provide a database for the ATM addresses of inter-cluster multicast group members, and said well known end-node may be adapted to establish a point-to-multipoint tree and to distributing multicast traffic sent by a member of said inter-cluster multicast group to other members of said group using said tree. Each group address may have a corresponding well known end-node address.
Said IP/ATM network may be adapted to enable multicast packets to be sent to members of an inter-cluster multicast group, even if the sender is not a member of said group.
Said MCRs may be adapted to operate in either a server mode, or a Virtual Circuit (VC) mesh mode, the mode used being dependent on several criteria, such as, the number of inter-cluster multicast groups, the grouping mode (i.e. sparse, dense, etc.), traffic density, charging policies of a network operator, performance, reliability and system complexity.
When MCRs is adapted to operate in a server mode, said well-known end-node may be adapted to provide a database for IP multicast addresses, and corresponding ATM addresses for members of an inter-cluster multicast group, said MCRs may be adapted to issue multicast packets to said well known end-node for distribution to members of an inter-cluster multicast group, and said well known end-node may be adapted to establish a point-to-multipoint tree to said group members and to distributing multicast packets, received from said MCRs, to said group members using said tree.
When MCRs is adapted to operate in VC mesh mode, said well known end-nodes may be adapted to keep track of IP multicast addresses, and corresponding ATM members of said MCRs, and said IP/ATM network may be adapted to report changes in membership of an MCR to a respective well known end-node, and to establish point-to-multipoint trees between MCRs belonging to the same inter-cluster multicast group(s), when an association between said IP multicast addresses and said ATM members has been determined. Said IP/ATM network may include two control VCs between a MCR and said well-known end-node, in which case, a first one of said control VCs is a transient bidirectional point-to-point connection, between a MCR and said well-known end-node, and is adapted for use in registering group membership, and a second one of said control VCs is a unidirectional point-to-multipoint group_ctrl_VC , from said well-known end-node to the MCR, and is adapted to propagate group joining and leaving messages to the MCR.
Said IP/ATM network may be adapted to enable a multicast packet originating from a non-group member to be distributed to group members using a point-to-multipoint tree of a group member MCR, said well known end-node being adapted to establish a point-to-point connection between said non-group member and said group member MCR to facilitate the transfer of said multicast packet to said group member MCR and thereafter to said group members via said point-to-multipoint tree.
Said IP/ATM network may be adapted to enable a MCR to join, or leave, an inter-cluster multicast group, at the option of the MCR.
According to another aspect of the present invention, there is provided, in an ATM transmission system including an IP/ATM network, said network including clusters of Logical IP Systems (LISs), a multicast address resolution server (MARS) for each cluster and a multicast router (MCR) for each cluster, a method for the simultaneous transmission (i.e. multicasting) of IP data packets to a plurality of system users using ATM as a carrier network, said method being characterised by interconnecting said clusters through said MCRs to form an inter-cluster backbone for said IP/ATM network, by using a MARS protocol for multicasting said IP data packets within a cluster, and by using an inter-cluster multicasting protocol (ILMP) for multicasting said IP data packets between clusters. The method may be characterised by obtaining access to the Internet for said IP/ATM network. The method may be further characterised by said IP/ATM network, in the presence of multiple MCRs belonging to the same cluster, selecting a MCR with the highest IP address as a default MCR. MARS may operate in server mode. Said MCRs may promiscuously receiving all multicast traffic on a cluster and may support point-to-multipoint connections provided by UNI 3.0 signalling.
The method may be characterised by configuring all ATM hosts and MCRs, associated with the same cluster, with the address of the same MARS; operating MARS in server mode; IP/ATM endpoints, within a cluster, utilizing MARS procedures to register as a member of an inter-cluster multicast group; said MCRs supporting point-to-multipoint connections provided by UNI 3.0 signalling; and using a multicast server to manage said point-to-multipoint connections and distribute multicast traffic therefrom (i.e. as root) to all other leaves of said multipoint connections.
The method may be characterised by a MCR, in advance of multicasting selecting a well known end-node, and establishing a connection to said well known end-node, said well known end-node providing a database for ATM addresses of inter-cluster multicast group members; and by said well known end-node establishing a point-to-multipoint tree to said ATM addresses and, on receipt of a multicast packet from a member of said inter-cluster multicast group, using said tree to distribute said multicast packet to other members of said group. Each group address may have a corresponding well known end-node address.
The method may be characterised by said well known end-node forming the root of a point-to-multipoint tree when said MCRs are operating in the server mode; and by an MCR, wishing to distribute a multicast packet to members of a existing group of which it is not a member, establishing a point-to-point connection to said well-known end-node, and sending said multicast packet to said well-known end-node using the point-to-point connection; and, on receipt of said multicast packet, said well known end-node distributing said multicast packet, via an existing point-to-multipoint tree to said group members.
The method may be characterised by said MCRs operating in either a server mode, or a Virtual Circuit (VC) mesh mode, the mode used being dependent on several criteria, such as, the number of inter-cluster multicast groups, the grouping mode (i.e. sparse, dense, etc.), traffic density, charging policies of a network operator, performance, reliability and system complexity. The method may be further characterised by said MCRs operating in a server mode; said well-known end-node providing a database for IP multicast addresses, and corresponding ATM addresses for members of an inter-cluster multicast group; said MCRs issuing multicast packets to said well known end-node for distribution to members of an inter-cluster multicast group; and said well known end-node establishing a point-to-multipoint tree to said group members and using said tree to distribute multicast packets, received from said MCRs, to said group members. The method may be further characterised by said MCRs operating in VC mesh mode; said well known end-nodes keeping track of IP multicast addresses, and corresponding ATM members of said MCRs; and said IP/ATM network reporting changes in membership of an MCR to a respective well known end-node; and, on determining an association between said IP multicast addresses and said ATM members, establishing point-to-multipoint trees between MCRs belonging to the same inter-cluster multicast group(s). The method may be further characterised by said IP/ATM network establishing two control VCs between a MCR and said well-known end-node, a first one of said control VCs being a transient bi-directional point-to-point connection, between a MCR and said well-known end-node, and a second one of said control VCs being a unidirectional point-to-multipoint group_ctrl_VC, from said well-known end-node to the MCR; using said first control VC to register membership of a an inter-cluster multicast group; and using said second control VC to propagate group joining and leaving messages to the MCR.
The method may be characterised by said MCRs, at start-up, establishing a point-to-point connection with a well-known end-node; and informing said end-node of their ATM addresses and of the inter-cluster multicast groups from which they want to receive multicast traffic; on receipt of information concerning the multicast group(s) from which an MCR wants to receive multicast traffic, said well known end-node returning to said MCR, the ATM addresses which support said groups; and said MCR, on receipt of said ATM addresses, establishing point-to-multipoint connections with each of the multicast group members. The method may be further characterised by a MCR, on receipt of a multicast packet from its cluster, using said point-to-multipoint tree to forward the multicast packet to other clusters. The method may be further characterised by said IP/ATM network using a point-to-multipoint tree of a group member MCR to distribute a multicast packet originating from a non-group member to group members; and said well known end-node establishing a point-to-point connection between said non-group member and said group member MCR to facilitate transfer of said multicast packet to said group member MCR and thereafter to said group members via said point-to-multipoint tree. The method may be further characterised by a MCR, wishing to leave an inter-cluster multicast group, contacting said well-known end-node; said well known end-node, on receipt of said leaving request, propagating a leave message, in respect of said MCR, to the other MCRs on its group membership list; and each of said other MCRs, on receipt of said leave message, dropping a leaf for said leaving MCR from their respective point-to-multipoint trees. The method may be further characterised by a MCR, wishing to join an inter-cluster multicast group, contacting said well-known end-node; said well known end-node, on receipt of the joining request, returning the ATM addresses of existing group members to said new MCR and propagating the ATM address of said new MCR to existing group members, through a point-to-multipoint tree; said new MCR member, on receipt of the ATM addresses, establishing a point-to-multipoint connection to each of said existing group members; and each of said existing group members, on receipt of the ATM address of the new MCR, updating their respective point-to-multipoint trees to include a leaf for said new MCR.
The method may be characterised by said IP/ATM network operating in server mode ILMP, in conjunction with MARS; MCRs, on obtaining information concerning existing groups, propagating said information to a corresponding well known end-node, residing within an inter-cluster backbone, any one of said MCRs acting as said well known end-node for a multicast group, each group having only one well known end-node; a MCR sending group membership reports to corresponding well-known end-nodes via a transient control channel established between said MCR and the well known end-node, said control channel being released after a predetermined period of time; a MCRs establishing point-to-point data channels for tunneling multicast packets in unicast fashion and a point-to-multipoint tree for each multicast group using itself as the root of the tree; existing group members reporting their own ATM addresses to said well-known end-node when a MCR propagates information concerning the existing groups on their cluster side; and using group member IDs to eliminate multicast packet reflections, said IDs being assigned by said well known end-node. The method may be further characterised by MCRs selecting a well known end-node for a particular inter-cluster multicast group by invoking algorithmic mapping of multicast addresses and corresponding well known end-nodes.
The method may be characterised by an ATM host, wishing to transmit a multicast packet to members of a multicast group, sending said packet to a Multicast Server (MCS) entity; on receipt of said packet, said MCS coping the packet to all its interfaces where there are group members within the cluster, including the MCR (since MCRs behave promiscuously) and unicasting said multicast packet to a corresponding well known end-node via a preestablished data channel; and, if said multicast group is reported to said well-known end-node, said well known end-node extracting the multicast packet from the unicast packet and sending the extracted multicast packet to group members using its point-multipoint tree to said members. The method may be further characterised by a MCS wishing to participate in a multicast group, configuring two addresses, namely, ATM addresses of primary and secondary (back-up) well known end-nodes. The method may be further characterised by a MCR maintaining a single bi-directional-control connection to the well-known end-node for registration/de-registration purposes; a single data unidirectional data channel for tunneling multicast packets; and a number (N) of incoming multicast VCs, where N is the total number of multicast groups.
The method may be characterised by, in the event of failure of a primary well known end-node, dismantling all point-to-point connections between the MCS routers and said primary well-known end-node; the MCRs, on detecting dismantlement of said connections, opening a new circuit to a back-up, pre-configured, well known end-node; each MCR registering the ATM addresses of the group members of which it is aware to the back-up well known end-node; said back-up well known end-node, on receipt of the ATM addresses, establishing point-multipoint trees or each group; said MCRs continuously try to reestablish a connection with said primary well known end-node; and on reestablishment of said connection, said MCRs dismantle their connection to said back-up well known end-node and re-establish their connection to said primary well known end-node.
According to a further aspect of the present invention, there is provided, a telecommunication system, characterised in that said system includes an ATM transmission system as outlined in preceding paragraphs, or is adapted to operate in accordance with the method,outlined in preceding paragraphs.